Model-Checking Plus Testing: From Software Architecture Analysis to Code Testing
نویسندگان
چکیده
Software Model-Checking and Testing are some of the most used techniques to analyze software systems and identify hidden faults. While software model-checking allows for an exhaustive and automatic analysis of the system expressed through a model, software testing is based on a clever selection of “relevant” test cases, which may be manually or automatically run over the system. In this paper we analyze how those two analysis techniques may be integrated in a specific context, where a Software Architecture (SA) specification of the system is available, model-checking techniques are used to validate the SA model conformance with respect to selected properties, while testing techniques are used to validate the implementation conformance to the SA model. The results of this research are applied to an SDH Telecommunication system architecture designed by Siemens CNX.
منابع مشابه
Modeling and Analyzing Publish Subscribe Architcture using Petri Nets
Software architecture is the foundation for the development of software systems. Its correctness is important to the quality of the software systems that have been developed based on it. Formally modeling and analyzing software architecture is an effective way to ensure the correctness of software architecture. However, how to effectively verify software architecture and use the results from fo...
متن کاملModel Checking for Generation of Test Suites in Software Unit Testing
Model checking is a technique for exhaustively searching the model’s state space for possible errors. Testing is a common method for enhancing the quality of a software product by checking for errors in program executions sampled according to some criterion called coverage criterion. Testing is a costly process especially if it is not supported by an appropriate method (and tool) for generating...
متن کاملDistributed Black-Box Software Testing Using Negative Selection
In the software development process, testing is one of the most human intensive steps. Many researchers try to automate test case generation to reduce the manual labor of this step. Negative selection is a famous algorithm in the field of Artificial Immune System (AIS) and many different applications has been developed using its idea. In this paper we have designed a new algorithm based on nega...
متن کاملAutoFOCUS 3: Tooling Concepts for Seamless, Model-based Development of Embedded Systems
This paper presents tooling concepts in AUTOFOCUS 3 supporting the development of software-intensive embedded system design. AUTOFOCUS 3 is a highly integrated model-based tool covering the complete development process from requirements elicitation, deployment, the modelling of the hardware platform to code generation. This is achieved thanks to precise static and dynamic semantics based on the...
متن کاملUnitCheck: Unit Testing and Model Checking Combined
Code model checking is a rapidly advancing research topic. However, apart from very constrained scenarios (e.g., verification of device drivers by Slam), the code model checking tools are not widely used in general software development process. We believe that this could be changed if the developers could use the tools in the same way they already use testing tools. In this paper, we present th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004